package com.spider.silence.utils;

import java.util.ArrayList;

/**
 * Created by 夏茂轩 on 2016/12/26.
 */
public class CommonUtils {

    /**
     * @author 夏茂轩
     * @date 2017/1/15 22:36
     * @description 分页任务分配器
     * @param start 开始页
     * @param end 结束页
     * @param threadNum 线程数量
     * @return 分配好后的结果
     */
    public static ArrayList<ArrayList<Integer>> splitPages(int start,int end,int threadNum){

        ArrayList<ArrayList<Integer>> arrayLists=new ArrayList<ArrayList<Integer>>();
        ArrayList<Integer> pages=new ArrayList<Integer>();
        int part= (int) Math.ceil((double)(end-start)/threadNum);
        if(part==0){
            part=1;
        }
        for(int i=0;i<(end - start +1);i++){
            if((start+i-1)%part!=0&&((end - start )!=i)){
                pages.add(start+i);
            }else if ((end - start )==i){
                pages.add(start+i);
                arrayLists.add(pages);
            }else {
                pages.add(start+i);
                arrayLists.add(pages);
                pages=new ArrayList<Integer>();
            }
        }
        return  arrayLists;
    }
}
